Doom Emacs Python 开发环境

本文记录了我如何在 Doom Emacs 中配置 Python 开发环境。

在 Doom Emacs 中配置起来是很简单的。但是,如果你运气不好,没配置成功,会发现文档很少,排查起来还是很痛苦的。

init.el

主要涉及两个配置,一是开启 LSP,二是 Python

;……
(lsp)                 ; M-x vscode
;……
(python +lsp +poetry) ; beautiful is better than ugly

其中,python 需开启 lsp。除此,我还开启了 Poetry

python-lsp-server

Doom Emacs 支持多重 Python LSP 的后端。上面的 +lsp 对应于 pylsp

pylsp 需要单独安装,参见 pylsp 笔记,通过 pip 安装,Arch Linux 下可通过 pacman 安装。

config.el

下面附上我对 lsp-pylsp 的配置:

(use-package! lsp-pylsp
  :config
  (setq lsp-pylsp-plugins-rope-completion-enabled t)
  (setq lsp-pylsp-plugins-rope-autoimport-enabled t)
  (setq lsp-pylsp-plugins-rope-completion-eager t)
  (setq lsp-pylsp-rope-rope-folder ".ropeproject"))

其中大部分是开启 rope 的补全功能。rope 默认是关闭的需要手动开启。

开启 rope 后,我得到了个人见过最强大的自动补全能力,这一点让我非常兴奋!

lsp-pylsp-rope-rope-folder 的作用是在工程目录下创建一个名为 ".ropeproject" 的目录,里面有一个 SQLite 数据库,rope 会把自动补全符号存在这里面。如果不设置这个变量,每次打开工程 rope 都要重新扫描一边 Python 符号,非常耗性能。而设置之后,每次打开工程,rope 只需要加载 SQLite 数据即可,瞬间加载完成!

Poetry

Doom Emacs 对 Poetry 支持非常好,对于使用 Poetry 管理的工程,使用 Doom Emacs 打开会会自动加载 venv 虚拟环境。Emacs 中也有众多 poetry 系列命令,涵盖了常用操作。

注意,如果除了 init.el 的 +poetry 声明外,操作系统里也要安装 poetry。

Lsp 后端

网络资源

Reddit


本文作者:Maeiee

本文链接:Doom Emacs Python 开发环境

版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!


喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!